#pragma once

#include <cstdio>
#include <cstdlib>
#include <glut.h>

class ITexture
{
public:
	ITexture();
	virtual ~ITexture();

	GLsizei		GetWidth() const;
	GLsizei		GetHeight() const;

	GLenum		GetFormat() const;
	GLint		GetInternalFormat() const;
	GLuint*		GetId();

	GLubyte*	GetTexels() const;

protected:
	GLsizei		m_width;
	GLsizei		m_height;

	GLenum		m_format;
	GLint		m_internalFormat;
	GLuint		m_id;

	GLubyte*	m_texels;
};